<html>
	<head>
		<meta charset=utf-8>
		<title>My first three.js app</title>
		<style>
			* { margin: 0; padding: 0}
		</style>
	</head>
	<body>           
            <script src="../js/three.js"></script>
		<script>
            // PolyhedronGeometry(vertices, faces, radius, detail)
            // vertices	几何体顶点坐标数组
            // indices	几何体顶点索引数组，三个顶点确定一个三角面
            // radius	几何体半径，可以理解为顶点位置坐标的缩放系数
            // detail	几何体表面细分，创建曲面的时候，细分程度越大越光滑
            /*
            *创建场景对象
            */ 
            let scene = new THREE.Scene();
            /*
            *创建网格模型
            */
             //立方体顶点位置坐标
            let vertices = [
                -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
                -1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
            ];
            //立方体顶点索引，三个顶点定义一个三角面
            let indices = [
                2,1,0, 0,2,3,
                0,4,7, 7,3,0,
                0,1,5, 5,4,0,
                1,2,6, 6,5,1,
                2,3,7, 7,6,2,
                4,5,6, 6,7,4
            ];
            let box=new THREE.PolyhedronGeometry(vertices,indices,60);
            let material = new THREE.MeshLambertMaterial({color:0x0000ff}); // 材质对象
            let mesh = new THREE.Mesh(box, material); // 网格模型对象
            scene.add(mesh); // 网格模型添加到场景中

            /**
            * 光源设置
            */
            // 点光源
            let point = new THREE.PointLight(0xffffff); // 0xffffff 定义光照强度
            point.position.set(400, 200, 300); // 点光源位置
            scene.add(point); // 点光源添加到场景中
            // 环境光
            let ambient = new THREE.AmbientLight(0x444444);
            scene.add(ambient);
            
            /*
             *相机设置 
            */
            let width = window.innerWidth;
            let height = window.innerHeight;
            let k = width / height; // 窗口宽高比
            let s = 200; // 三维场景缩放系数,对正交相机有用
            let camera = new THREE.OrthographicCamera (-s*k,s*k, s,-s,1,1000); // 正交相机，参数为左边偏移（偏移是相对于相机中心位置，不是坐标）
                                                                              // ，右偏移，上偏移，下偏移，近平面距离、远平面距离
            
            //let camera = new THREE.PerspectiveCamera (45, k, 1, 1000); //视角、宽高比、近平面距离、远平面距离
            camera.position.set(50, 20, 100); // 设置相机位置
            camera.lookAt(scene.position); // 设置相机方向（指向的场景对象）

            /*
            * 创建渲染器对象
            */
            let renderer = new THREE.WebGLRenderer({
                antialias:true,  //是否开启反锯齿
            });
            renderer.setSize(width, height);
            renderer.setClearColor(0xb9d3ff,1);//设置背景颜色
            document.body.appendChild( renderer.domElement );// body元素中插入canvas对象
            renderer.render(scene,camera);// 执行渲染操作
		</script>
	</body>
</html>